-
Notifications
You must be signed in to change notification settings - Fork 28
feat: implement new architecture support for iOS #225
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Updated RNMParticle and RNMPRokt to support new architecture with TurboModules. - Refactored imports and method signatures to align with new architecture standards. - Introduced RoktNativeLayoutComponentView for new architecture layout handling. - Added method implementations for better compatibility with new architecture. - Updated sample app Podfile to enable new architecture by default.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request implements React Native's new architecture support for iOS by migrating the mParticle React Native SDK from the legacy bridge to TurboModules and Fabric components.
- Enables new architecture by default in sample app and updates module configurations
- Adds new architecture-specific component views and TurboModule implementations
- Refactors method signatures to support both legacy and new architecture patterns
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| sample/ios/Podfile | Enables new architecture by setting RCT_NEW_ARCH_ENABLED to '1' |
| react-native-mparticle.podspec | Updates dependency checks and changes React dependency from 'React' to 'React-Core' |
| ios/RNMParticle/RoktNativeLayoutComponentView.mm | New Fabric component view implementation for Rokt layout handling |
| ios/RNMParticle/RoktNativeLayoutComponentView.h | Header file for the new Fabric component view |
| ios/RNMParticle/RNMParticle.m | Major refactoring with TurboModule support, method signature updates, and dual architecture compatibility |
| ios/RNMParticle/RNMParticle.h | Updates interface to support both legacy bridge and TurboModule protocols |
| ios/RNMParticle/RNMPRokt.m | Adds TurboModule support and new architecture-specific view handling |
| ios/RNMParticle/RNMPRokt.h | Updates interface declarations for new architecture compatibility |
BrandonStalnaker
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By and large seems good. I'm a little concerned about ios/RNMParticle/RNMParticle.mm just cause with rename it was hard to pick out the changes in the code. Doubel check your imports and I think we will be good to go.
- Added new entries to .npmignore for Android and iOS build artifacts and IDE files. - Updated Xcode project configuration to include new source files and remove deprecated ones.
Summary
Testing Plan
Tested with new architecture flag enabled and disabled
Master Issue
Closes https://go.mparticle.com/work/REPLACEME